package com.css.gdzj.gdzjbxgd.modules.userinfo.service;

import com.alibaba.fastjson.JSONObject;
import javax.servlet.http.HttpServletResponse;

import com.css.gdzj.gdzjbxgd.modules.userinfo.repository.entity.UserInfoEntity;
import com.css.gdzj.gdzjbxgd.modules.userinfo.viewobjects.UserInfoQueryParams;
import com.css.gdzj.gdzjbxgd.sys.user.form.LoginForm;
import com.querydsl.core.QueryResults;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
import java.util.Map;

/**
 * @author z
 * @date 2020-12-11
 */

public interface UserInfoService {

    /*public JSONObject queryUserInfos(UserInfoQueryParams queryParams, int curPage, int pageSize);*/

    public UserInfoEntity getUserInfo(String id);

    public UserInfoEntity saveUserInfo(UserInfoEntity userInfo);

    public UserInfoEntity updateUserInfo(UserInfoEntity userInfo);

    public void deleteUserInfos(List<String> ids);

    public void exportExcel(String userName, String userUnit, HttpServletResponse response);

    String uploadFile(MultipartFile file, HttpServletResponse response);

    Map<String,Object> queryUserInfos(String loginName, String userName, String userPost,String userRank,String userLeaderPost,String userUnit,String userLevel, Integer pageNo, Integer pageSize);

    Map loginGetUserinfo(LoginForm loginForm);

    UserInfoEntity editPassword(String userId, String newPasswordMd5);

    UserInfoEntity controlReport(Map<String, String> params);

    UserInfoEntity checkUserLoginName(String userLoginName);
    /*账户递增*/
    public String getLoginNameLast(String userLoginName);

    public void updateUserState(String userId);

    Map<String, Object> queryAllUserInfos(String loginName, String userName, String userPoliticalOutlook, String userRank, String userLeaderPost, String userUnit);
}
